﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ) Способы распределения суммы по строкам номенклатуры
	///</summary>
	[DataContract]
	public enum СпособыРаспределенияДопРасходов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d683f13b-9d37-439b-b8a4-fccabae10ace\", \"Представление\":\"ПоСумме\"}")]
		ПоСумме = 0,//По сумме
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"8cd872d3-93b6-4fe3-8481-c7c22b322c5a\", \"Представление\":\"ПоКоличеству\"}")]
		ПоКоличеству = 1,//По количеству
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"a99b28b1-134b-4ba5-9225-67760be97cd0\", \"Представление\":\"ПоВесу\"}")]
		ПоВесу = 2,//По весу
	}
	public static partial class СпособыРаспределенияДопРасходов_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПоСумме = new Guid("cafca4b8-e1ba-ce0a-439b-9d37d683f13b");//По сумме
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПоКоличеству = new Guid("c2c78184-322b-5a2c-4fe3-93b68cd872d3");//По количеству
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПоВесу = new Guid("76672592-e90b-d07c-4ba5-134ba99b28b1");//По весу
		public static СпособыРаспределенияДопРасходов Получить(this СпособыРаспределенияДопРасходов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СпособыРаспределенияДопРасходов Получить(this СпособыРаспределенияДопРасходов Значение, Guid Ссылка)
		{
			if(Ссылка == ПоСумме)
			{
				return СпособыРаспределенияДопРасходов.ПоСумме;
			}
			else if(Ссылка == ПоКоличеству)
			{
				return СпособыРаспределенияДопРасходов.ПоКоличеству;
			}
			else if(Ссылка == ПоВесу)
			{
				return СпособыРаспределенияДопРасходов.ПоВесу;
			}
			return СпособыРаспределенияДопРасходов.ПустаяСсылка;
		}
		public static byte[] Ключ(this СпособыРаспределенияДопРасходов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СпособыРаспределенияДопРасходов Значение)
		{
			switch (Значение)
			{
				case СпособыРаспределенияДопРасходов.ПоСумме: return ПоСумме;
				case СпособыРаспределенияДопРасходов.ПоКоличеству: return ПоКоличеству;
				case СпособыРаспределенияДопРасходов.ПоВесу: return ПоВесу;
			}
			return Guid.Empty;
		}
	}
}